package com.haixiaoke.saas.lock.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;


/**
 * 锁密码信息对象 biz_lock_pwd
 *
 * @author qixi
 * @date 2024-07-29
 */
@Data
public class LockPwd extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private Long pwdId;

    /**
     * 密码值
     */
    @Excel(name = "密码值")
    private String password;

    /**
     * 锁信息id
     */
    @Excel(name = "锁信息id")
    @NotNull(message = "锁信息id不能为空")
    private Long lockId;

    /**
     * 关联订单id
     */
    @Excel(name = "关联订单id")
    private String orderId;

    /**
     * 房屋ID
     */
    @Excel(name = "房屋ID")
    private String houseId;

    /**
     * 用户名
     */
    @Excel(name = "用户名")
    private String userName;

    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    private Long userId;

    /**
     * 开锁标识
     */
    @Excel(name = "开锁标识")
    private String identification;

    /**
     * 授权开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "授权开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "授权开始时间不能为空")
    private Date authStartTime;

    /**
     * 授权结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "授权结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "授权结束时间不能为空")
    private Date authEndTime;

    /**
     * 密码类型: 1临时密码
     */
    @Excel(name = "密码类型: 1临时密码 ")
    private String pwdType;

    /**
     * 密码状态:1有效 2过期
     */
    @Excel(name = "密码状态: 1有效 2过期")
    private String pwdState;

    /**
     * 密码来源: 1后台生成 2租客生成
     */
    @Excel(name = "密码来源: 1后台生成 2租客生成")
    private String pwdSource;

    private String lockName;


}
